85 WDT_A_hold(WDT_A_BASE);
94 GPIO_setAsPeripheralModuleFunctionInputPin(
96 GPIO_PIN1 + GPIO_PIN2,
97 GPIO_PRIMARY_MODULE_FUNCTION
101 CS_setExternalClockSource(32768);
104 CS_initClockSignal(CS_SMCLK, CS_XT1CLK_SELECT, CS_CLOCK_DIVIDER_1);
107 CS_turnOnXT1(CS_XT1_DRIVE_0);
114 GPIO_setAsPeripheralModuleFunctionInputPin(
116 GPIO_PIN0 + GPIO_PIN1 + GPIO_PIN2,
117 GPIO_PRIMARY_MODULE_FUNCTION
127 EUSCI_A_SPI_initMasterParam
param = {0};
128 param.selectClockSource = EUSCI_A_SPI_CLOCKSOURCE_SMCLK;
129 param.clockSourceFrequency = CS_getSMCLK();
130 param.desiredSpiClock = 500000;
131 param.msbFirst = EUSCI_A_SPI_MSB_FIRST;
132 param.clockPhase = EUSCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT;
133 param.clockPolarity = EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH;
134 param.spiMode = EUSCI_A_SPI_3PIN;
135 EUSCI_A_SPI_initMaster(EUSCI_A0_BASE, &
param);
138 EUSCI_A_SPI_enable(EUSCI_A0_BASE);
141 EUSCI_A_SPI_clearInterrupt(EUSCI_A0_BASE,
142 EUSCI_A_SPI_RECEIVE_INTERRUPT
146 EUSCI_A_SPI_enableInterrupt(EUSCI_A0_BASE,
147 EUSCI_A_SPI_RECEIVE_INTERRUPT);
155 while (!EUSCI_A_SPI_getInterruptStatus(EUSCI_A0_BASE,
156 EUSCI_A_SPI_TRANSMIT_INTERRUPT)) ;
159 EUSCI_A_SPI_transmitData(EUSCI_A0_BASE,
TXData);
161 __bis_SR_register(LPM0_bits + GIE);
165 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
166 #pragma vector=USCI_A0_VECTOR
168 #elif defined(__GNUC__)
169 __attribute__((interrupt(USCI_A0_VECTOR)))
173 switch(__even_in_range(UCA0IV, USCI_SPI_UCTXIFG))
175 case USCI_SPI_UCRXIFG:
177 while (!EUSCI_A_SPI_getInterruptStatus(EUSCI_A0_BASE,
178 EUSCI_A_SPI_TRANSMIT_INTERRUPT));
180 RXData = EUSCI_A_SPI_receiveData(EUSCI_A0_BASE);
186 EUSCI_A_SPI_transmitData(EUSCI_A0_BASE,
MPU_initThreeSegmentsParam param